wx.previewFile能调用,但无法显示预览文件?

您所在的位置:网站首页 my reading log图片 wx.previewFile能调用,但无法显示预览文件?

wx.previewFile能调用,但无法显示预览文件?

2023-05-06 10:41| 来源: 网络整理| 查看: 265

我出现的问题是wx.previewFile能调用到,但文件预览没出来。环境是微信小程序开发工具企业微信模式(基础库有试过:2.12.13、2.10.1、2.8.3、2.4.0),安卓手机(华为mate10pro),企业微信版本是3.1.19。

web-view 代码如下:

  

lookDoc.html如下:

地球人 var fileURL;   (function(){     var params = location.search.substring(1).split("&");     //alert("params:"+params);     if(null==params||undefined==params||params.length-1){   //alert(singnature+"\n"+longTime+"\n"+randomStr+"\n"+window.location.href);   window.wx.config({         beta: true,// 必须这么写,否则wx.invoke调用形式的jsapi会有问题         debug: false, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。         appId: params[3], // 必填,企业微信的corpID         timestamp:longTime, // 必填,生成签名的时间戳         nonceStr: randomStr, // 必填,生成签名的随机串         signature: singnature,// 必填,签名,见 附录-JS-SDK使用权限签名算法         jsApiList: ["previewFile"] // 必填,需要使用的JS接口列表,凡是要调用的接口都需要传进来     });     wx.ready(function(rea){//alert("wx.ready:"+rea);         // config信息验证后会执行ready方法,所有接口调用都必须在config接口获得结果之后,config是一个客户端的异步操作,所以如果需要在页面加载时就调用相关接口, //则须把相关接口放在ready函数中调用来确保正确执行。对于用户触发时才调用的接口,则可以直接调用,不需要放在ready函数中。 /*alert("wx.previewFile read:"+wx.previewFile); wx.checkJsApi({ jsApiList: ['previewFile'], // 需要检测的JS接口列表 success: function(res) { // 以键值对的形式返回,可用的api值true,不可用为false // 如:{"checkResult":{"chooseImage":true},"errMsg":"checkJsApi:ok"} alert("checkJsApi_res:"+res); } });*/ //pdf 126552 c60f4567b4f749389f8b224ff926400f.pdf var pdfURL=reqURL+"/c60f4567b4f749389f8b224ff926400f.pdf"; window.wx.invoke("previewFile",{ url: pdfURL, // 需要预览文件的地址(必填,可以使用相对路径) //name: "c60f4567b4f749389f8b224ff926400f.pdf", // 需要预览文件的文件名,必须有带文件格式的后缀,例如.doc(不填的话取url的最后部分,最后部分是个包含格式后缀的文件名) size: 126552//params[2], // 需要预览文件的字节大小(必填,而且大小必须正确,否则会打开失败) }); /*//doc 31742 c522e139a67246bab028a0b7898d5d05.docx var docURL=reqURL+"/c522e139a67246bab028a0b7898d5d05.docx"; window.wx.invoke("previewFile",{ url: pdfURL, // 需要预览文件的地址(必填,可以使用相对路径) name: "c522e139a67246bab028a0b7898d5d05.docx", // 需要预览文件的文件名,必须有带文件格式的后缀,例如.doc(不填的话取url的最后部分,最后部分是个包含格式后缀的文件名) size: 31742//params[2], // 需要预览文件的字节大小(必填,而且大小必须正确,否则会打开失败) }); //excel 31685 b26c51b4808e443d9979c09d5e7b4c4b.xlsx var excelURL=reqURL+"/b26c51b4808e443d9979c09d5e7b4c4b.xlsx"; window.wx.invoke("previewFile",{ url: excelURL, // 需要预览文件的地址(必填,可以使用相对路径) name: "b26c51b4808e443d9979c09d5e7b4c4b.xlsx", // 需要预览文件的文件名,必须有带文件格式的后缀,例如.doc(不填的话取url的最后部分,最后部分是个包含格式后缀的文件名) size: 31685//params[2], // 需要预览文件的字节大小(必填,而且大小必须正确,否则会打开失败) }); window.wx.invoke("previewFile",{ url: fileURL, // 需要预览文件的地址(必填,可以使用相对路径) name: "067fd6610b564949af84eb418b4a6755.pptx", // 需要预览文件的文件名,必须有带文件格式的后缀,例如.doc(不填的话取url的最后部分,最后部分是个包含格式后缀的文件名) size: 1983995//params[2], // 需要预览文件的字节大小(必填,而且大小必须正确,否则会打开失败) });*/     });     wx.error(function(res){alert("wx.config error:"+res);         // config信息验证失败会执行error函数,如签名过期导致验证失败,具体错误信息可以打开config的debug模式查看,也可以在返回的res参数中查看,对于SPA可以在这里更新签名。     });   }else{   alert("获取企业微信JS SDK调用签名失败,无法预览!");   }   }   }   };   xhr.send(stringify(reqParams));   })();   function stringify(jsonObj) {       var result = '',           curVal;       if (jsonObj === null) {           return String(jsonObj);       }       switch (typeof jsonObj) {           case 'number':           case 'boolean':               return String(jsonObj);           case 'string':               return '"' + jsonObj + '"';           case 'undefined':           case 'function':               return undefined;       }       switch (Object.prototype.toString.call(jsonObj)) {           case '[object Array]':               result += '[';               for (var i = 0, len = jsonObj.length; i < len; i++) {                   curVal = JSON.stringify(jsonObj[i]);                   result += (curVal === undefined ? null : curVal) + ",";               }               if (result !== '[') {                   result = result.slice(0, -1);               }               result += ']';               return result;           case '[object Date]':               return '"' + (jsonObj.toJSON ? jsonObj.toJSON() : jsonObj.toString()) + '"';           case '[object RegExp]':               return "{}";           case '[object Object]':               result += '{';               for (i in jsonObj) {                   if (jsonObj.hasOwnProperty(i)) {                       curVal = JSON.stringify(jsonObj[i]);                       if (curVal !== undefined) {                           result += '"' + i + '":' + curVal + ',';                       }                   }               }               if (result !== '{') {                   result = result.slice(0, -1);               }               result += '}';               return result;           case '[object String]':               return '"' + jsonObj.toString() + '"';           case '[object Number]':           case '[object Boolean]':               return jsonObj.toString();       }   }   //document.ready(function(){   //});

开发工具:

手机端:



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3